package net.lanelife.casino.caipiao.dto.admin;

import java.util.Date;

import net.lanelife.casino.caipiao.entity.CompanyBankCard.RechargeAccountType;
import net.lanelife.casino.caipiao.entity.CompanyBankCard.UsesType;
import net.lanelife.casino.common.dto.PersistentDTO;
import net.lanelife.casino.common.entity.json.serialize.CurrencySerializer;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

public class CompanyBankCardDTO extends PersistentDTO<Integer> {

	private static final long serialVersionUID = -7522198951277536262L;

	private Integer id;

	private String bankName;
	
	private String branchName;
	
	private String accountName;
	
	private String accountNo;
	
	private String accountEmail;
	
	private RechargeAccountType rechargeAccountType;
	
	@JsonSerialize(using = CurrencySerializer.class)
	private Double currentBalance;
	
	@JsonSerialize(using = CurrencySerializer.class)
	private Double warningAmount;
	
	private UsesType usesType;
	
	private Boolean available;
	
	private String createdBy;
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date createdDate;
	
	private String lastModifiedBy;
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date lastModifiedDate;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public String getBranchName() {
		return branchName;
	}

	public void setBranchName(String branchName) {
		this.branchName = branchName;
	}

	public String getAccountName() {
		return accountName;
	}

	public void setAccountName(String accountName) {
		this.accountName = accountName;
	}

	public String getAccountNo() {
		return accountNo;
	}

	public void setAccountNo(String accountNo) {
		this.accountNo = accountNo;
	}

	public String getAccountEmail() {
		return accountEmail;
	}

	public void setAccountEmail(String accountEmail) {
		this.accountEmail = accountEmail;
	}

	public RechargeAccountType getRechargeAccountType() {
		return rechargeAccountType;
	}

	public void setRechargeAccountType(RechargeAccountType rechargeAccountType) {
		this.rechargeAccountType = rechargeAccountType;
	}

	public Double getCurrentBalance() {
		return currentBalance;
	}

	public void setCurrentBalance(Double currentBalance) {
		this.currentBalance = currentBalance;
	}

	public Double getWarningAmount() {
		return warningAmount;
	}

	public void setWarningAmount(Double warningAmount) {
		this.warningAmount = warningAmount;
	}

	public UsesType getUsesType() {
		return usesType;
	}

	public void setUsesType(UsesType usesType) {
		this.usesType = usesType;
	}

	public Boolean getAvailable() {
		return available;
	}

	public void setAvailable(Boolean available) {
		this.available = available;
	}

	public String getCreatedBy() {
		return createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedDate() {
		return createdDate;
	}

	public void setCreatedDate(Date createdDate) {
		this.createdDate = createdDate;
	}

	public String getLastModifiedBy() {
		return lastModifiedBy;
	}

	public void setLastModifiedBy(String lastModifiedBy) {
		this.lastModifiedBy = lastModifiedBy;
	}

	public Date getLastModifiedDate() {
		return lastModifiedDate;
	}

	public void setLastModifiedDate(Date lastModifiedDate) {
		this.lastModifiedDate = lastModifiedDate;
	}

}
